home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / softball.arc / SOFTBALL.BAS (.txt)
Encoding:
GW-BASIC  |  1985-09-02  |  6.3 KB  |  148 lines

  1. 10  KEY OFF
  2. 20  WIDTH 80:CLS
  3. 30  PRINT :PRINT :PRINT :PRINT :PRINT
  4. 40  PRINT "***************************************************************************"
  5. 50  PRINT "*                                                                         *"
  6. 60  PRINT "*         SOFTBALL MANAGEMENT PROGRAM FOR THE IBM-PC AND COMPATIBLES      *"
  7. 70  PRINT "*                                                                         *"
  8. 80  PRINT "*                      COMPLETED APRIL 26 TH, 1985                        *"
  9. 90  PRINT "*                                                                         *"
  10. 100  PRINT "*                                REV .1                                   *"
  11. 110  PRINT "*                                                                         *"
  12. 120  PRINT "*                                  BY                                     *"
  13. 130  PRINT "*                                                                         *"
  14. 140  PRINT "*                              BILL McCALL                                *"
  15. 150  PRINT "*                                                                         *"
  16. 160  PRINT "*                                  OF                                     *"
  17. 170  PRINT "*                                                                         *"
  18. 180  PRINT "*                             COLUMBUS, OHIO                              *"
  19. 190  PRINT "*                                                                         *"
  20. 200  PRINT "***************************************************************************"
  21. 210  PRINT :PRINT :PRINT :PRINT "                        PRESS ANY KEY TO CONTINUE"
  22. 220  LOGO$=INKEY$
  23. 230  IF LOGO$="" THEN 220
  24. 240  CLS:WIDTH 80
  25. 250  OPEN "softball.sco" AS #1 LEN=125
  26. 260  FIELD # 1, 25 AS PLAYER$, 25 AS ATBAT$, 25 AS HITS$,25 AS SINGLES$, 15 AS DOUBLES$,5 AS TRIPS$, 5 AS HOMER$
  27. 270  PRINT :PRINT "SELECT AN OPTION"
  28. 280  PRINT "----------------"
  29. 290  PRINT "1--add a player"
  30. 300  PRINT "2--CHANGE A PLAYER'S RECORD"
  31. 310  PRINT "3--LOOK AT PLAYER'S RECORD"
  32. 320  PRINT "4--INITIALIZE THE PLAYER FILE"
  33. 330  PRINT "5--LIST THE NUMBER OF ACTIVE PLAYERS"
  34. 340  PRINT "6--EXIT"
  35. 350  PRINT "7--LIST ALL RECORDS TO PRINTER"
  36. 360  PRINT :INPUT "YOUR CHOICE";CHOICE%
  37. 370  CLS
  38. 380  IF (CHOICE% < 1) OR (CHOICE% > 7) THEN GOTO 270
  39. 390   ON CHOICE% GOSUB 410,620,800,1040,1130,1250,1350
  40. 400  GOTO 270
  41. 410  'ADD RECORD
  42. 420  PRINT:INPUT "WHICH RECORD DO YOU WANT TO ADD (1-50)",PLAY.NO%
  43. 430  IF(PLAY.NO% < 1) OR (PLAY.NO% > 50) THEN GOTO 410
  44. 440  GET # 1, PLAY.NO%
  45. 450  IF ASC(PLAYER$) <> 255 THEN PRINT "THAT PLAYER ALREADY EXISTS.":RETURN
  46. 460  INPUT "INPUT NAME: ",IN.PLAYER$
  47. 470  INPUT "NUMBER OF AT BATS:",IN.ATBAT
  48. 480  IF IN.ATBAT  > 0 THEN 520
  49. 490  CLS:PRINT "TRY AGAIN LATER, WHEN THIS PLAYER HAS AT LEAST ONE AT BAT."
  50. 500  FOR DELAY = 1 TO 2500:NEXT DELAY:CLS
  51. 510  GOTO 610
  52. 520  INPUT "NUMBER OF HITS:",IN.HITS
  53. 530  INPUT "NUMBER OF SINGLES :", IN.SINGLES
  54. 540  INPUT "NUMBER OF DOUBLES:",IN.DOUBLES
  55. 550  INPUT "NUMBER OF TRIPLES:",TRIPS
  56. 560  INPUT "NUMBER OF HOMERS:",IN.HOMER
  57. 570  LSET PLAYER$=IN.PLAYER$:LSET ATBAT$=MKS$(IN.ATBAT):LSET HITS$=MKS$(IN.HITS)
  58. 580  LSET SINGLES$=MKS$(IN.SINGLES):LSET DOUBLES$=MKS$(IN.DOUBLES):LSET TRIPS$=MKS$(IN.TRIPS)
  59. 590  LSET HOMER$=MKS$(IN.HOMER)
  60. 600  PUT # 1,PLAY.NO%
  61. 610  RETURN
  62. 620  'change
  63. 630  PRINT :INPUT "Which player number to you wish to change( 1-50):",PLAY.NO%
  64. 640  IF (PLAY.NO% < 1) OR (PLAY.NO% > 50) GOTO 620
  65. 650  GET # 1, PLAY.NO%
  66. 660  IF ASC(PLAYER$) = 255 THEN PRINT "THAT RECORD HAS NO VALUES":RETURN
  67. 670  PRINT "PRESS RETURN TO LEAVE VALUE THE SAME."
  68. 680  PRINT "NAME: "+ PLAYER$ +"  ";:INPUT "",IN.PLAYER$: IF IN.PLAYER$="" THEN  IN.PLAYER$=PLAYER$
  69. 690  PRINT "AT BATS: " + STR$(CVS(ATBAT$)) + " ";:INPUT "",IN.ATBAT: IF IN.BAT =0 THEN IN.ATBAT =CVS(ATBAT$)
  70. 700  PRINT "HITS :" + STR$(CVS(HITS$)) + " ";:INPUT "",IN.HITS: IF IN.HITS=0 THEN IN.HITS= CVS(HITS$)
  71. 710  PRINT "SINGLES: " + STR$(CVS(SINGLES$)) + " ";:INPUT "",IN.SINGLES:IF IN.SINGLES= 0 THEN IN.SINGLES=CVS(SINGLES$)
  72. 720  PRINT "DOUBLES :" + STR$(CVS(DOUBLES$)) + " ";:INPUT "",IN.DOUBLES: IF IN.DOUBLES = 0 THEN IN.DOUBLES = CVS(DOUBLES$)
  73. 730  PRINT "TRIPLES :" + STR$(CVS(TRIPS$)) + " ";:INPUT "",IN.TRIPS: IF IN.TRIPS =0 THEN IN.TRIPS=CVS(TRIPS$)
  74. 740  PRINT "HOME RUNS :" + STR$(CVS(HOMER$)) + " ";:INPUT "",IN.HOMER: IF IN.HOMER =0 THEN IN.HOMER=CVS(HOMER$)
  75. 750  LSET PLAYER$= IN.PLAYER$:LSET ATBAT$= MKS$(IN.ATBAT):LSET HITS$ = MKS$(IN.HITS)
  76. 760  LSET SINGLES$= MKS$(IN.SINGLES):LSET DOUBLES$= MKS$(IN.DOUBLES):LSET TRIPS$=MKS$(IN.TRIPS)
  77. 770  LSET HOMER$ = MKS$(IN.HOMER)
  78. 780  PUT # 1 ,PLAY.NO%
  79. 790  RETURN
  80. 800  'DISPLAY
  81. 810  LSET PLAYER$= MKS$(IN.PLAYER)
  82. 820  PRINT :INPUT "WHICH PLAYER DO YOU WISH TO DISPLAY (1-50)",PLAY.NO%
  83. 830  CLS
  84. 840  PRINT "DO YOU WANT SCREEN (S) OR PRINTER (P) OUTPUT ?"
  85. 850  MODE$=INKEY$
  86. 860  IF (MODE$= "S") OR (MODE$= "s")  THEN GOTO 890
  87. 870  IF (MODE$= "P") OR (MODE$= "p") THEN GOTO 890
  88. 880  GOTO 850
  89. 890  CLS:IF (PLAY.NO% <1) OR (PLAY.NO% > 50) THEN GOTO 820
  90. 900  GET # 1 , PLAY.NO%
  91. 910  IF ASC(PLAYER$)=255 THEN PRINT "THAT PLAYER HAS NO RECORD.":RETURN
  92. 920  IF (MODE$ ="P") OR (MODE$= "p") THEN GOTO 1290
  93. 930  WIDTH 40
  94. 940  PRINT  "NAME:";PLAYER$:PRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):PRINT "HITS: ";CVS(HITS$):PRINT "SINGLES:";CVS(SINGLES$)
  95. 950  PRINT "DOUBLES:";CVS(DOUBLES$):PRINT "TRIPLES:";CVS(TRIPS$):PRINT "HOME RUNS:"; CVS(HOMER$)
  96. 960  AVERAGE=CVS(HITS$)/CVS(ATBAT$)
  97. 970  AVERAGE= (INT(AVERAGE * 1000))/1000
  98. 980  PRINT "BATTING AVERAGE: ";AVERAGE
  99. 990  PRINT :PRINT :PRINT :PRINT " HIT ANY KEY TO CONTINUE....."
  100. 1000  Q$=INKEY$
  101. 1010  IF Q$="" THEN 1000
  102. 1020  WIDTH 80:CLS
  103. 1030  RETURN
  104. 1040  'INITIALIZE
  105. 1050  PRINT "ARE YOU SURE YOU WANT TO INITIALIZE?"
  106. 1055  PRINT "INITIALIZING WILL ERASE ALL EXISTING RECORDS!":FOR X=1 TO 5:BEEP:NEXT X
  107. 1060  INPUT "INITIALIZE (Y OR N)", INITYN$
  108. 1070  IF (INITYN$ <> "Y") AND (INITYN$ <> "y") THEN RETURN
  109. 1080  LSET PLAYER$= CHR$(255)
  110. 1090  FOR I%= 1 TO 50
  111. 1100  PUT #1,I%
  112. 1110  NEXT I%
  113. 1120  RETURN
  114. 1130  'DISPLAY
  115. 1140  CLS
  116. 1150  PRINT "ACTIVE RECORDS MARKED WITH AN *"
  117. 1160  PRINT "         1         2         3         4         5"
  118. 1170  PRINT "12345678901234567890123456789012345678901234567890"
  119. 1180  FOR I%= 1 TO 50
  120. 1190  GET #1,I%
  121. 1200  IF(ASC(PLAYER$)=255) THEN PRINT " "; ELSE PRINT "*";
  122. 1210  NEXT I%
  123. 1220  FOR DELAY= 1 TO 1000:NEXT DELAY
  124. 1230  CLS
  125. 1240  RETURN
  126. 1250  'QUIT
  127. 1260  CLOSE
  128. 1270  SYSTEM
  129. 1280   BAT= CVD(ATBAT$): HIT = CVD(HIT$)
  130. 1290  LPRINT  "NAME ";PLAYER$:LPRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):LPRINT "HITS: ";CVS(HITS$):LPRINT "SINGLES:";CVS(SINGLES$)
  131. 1300  LPRINT "DOUBLES:";CVS(DOUBLES$):LPRINT "TRIPLES:";CVS(TRIPS$):LPRINT "HOME RUNS:"; CVS(HOMER$)
  132. 1310  AVERAGE=CVS(HITS$)/CVS(ATBAT$)
  133. 1320  AVERAGE= (INT(AVERAGE * 1000))/1000
  134. 1330  LPRINT "BATTING AVERAGE: ";AVERAGE
  135. 1340  GOTO 1030
  136. 1350  LSET PLAYER$= MKS$(IN.PLAYER)
  137. 1360  FOR PLAY.NO%= 1 TO 50
  138. 1370  GET # 1 , PLAY.NO%
  139. 1380  IF ASC(PLAYER$)=255 THEN 1450
  140. 1390  LPRINT  "NAME ";PLAYER$:LPRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):LPRINT "HITS: ";CVS(HITS$):LPRINT "SINGLES:";CVS(SINGLES$)
  141. 1400  LPRINT "DOUBLES:";CVS(DOUBLES$):LPRINT "TRIPLES:";CVS(TRIPS$):LPRINT "HOME RUNS:"; CVS(HOMER$)
  142. 1410  AVERAGE=CVS(HITS$)/CVS(ATBAT$)
  143. 1420  AVERAGE= (INT(AVERAGE * 1000))/1000
  144. 1430  LPRINT "BATTING AVERAGE: ";AVERAGE
  145. 1440  LPRINT "---------------------":LPRINT :LPRINT
  146. 1450  NEXT PLAY.NO%
  147. 1460  CLS:GOTO 270
  148.